HAL DCMI constants migration ¶
This section provides information about the HAL DCMI constants migration.
HAL DCMI byte stream modes output enable bit settings constants ¶
In HAL1,
ODD/EVEN
byte start was controlled by two standalone defines (
DCMI_OEBS_EVEN
/
DCMI_OEBS_ODD).
In HAL2, this control is integrated into the data selection feature through the “byte decimation” enumerators(
HAL_DCMI_BYTE_CAPTURE_1BYTE_OUT_2_EVEN
/
HAL_DCMI_BYTE_CAPTURE_1BYTE_OUT_2_ODD).
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_BSM_ALL
#define DCMI_BSM_OTHER
/* and */
#define DCMI_OEBS_EVEN
#define DCMI_BSM_OTHER
/* and */
#define DCMI_OEBS_ODD
#define DCMI_BSM_ALTERNATE_4
/* and */
#define DCMI_OEBS_EVEN
#define DCMI_BSM_ALTERNATE_4
/* and */
#define DCMI_OEBS_ODD
#define DCMI_BSM_ALTERNATE_2
/* and */
#define DCMI_OEBS_EVEN
#define DCMI_BSM_ALTERNATE_2
/* and */
#define DCMI_OEBS_ODD
|
typedef enum
{
HAL_DCMI_BYTE_CAPTURE_ALL,
HAL_DCMI_BYTE_CAPTURE_1BYTE_OUT_2_EVEN,
HAL_DCMI_BYTE_CAPTURE_1BYTE_OUT_2_ODD,
HAL_DCMI_BYTE_CAPTURE_1BYTE_OUT_4_EVEN,
HAL_DCMI_BYTE_CAPTURE_1BYTE_OUT_4_ODD,
HAL_DCMI_BYTE_CAPTURE_2BYTE_OUT_4_EVEN,
HAL_DCMI_BYTE_CAPTURE_2BYTE_OUT_4_ODD
} hal_dcmi_byte_decimation_mode_t;
|
Related concepts:
Replace Finite Parameter Defines (Including PPP Instances) with Enum Types at HAL Levels.
Add HAL_PPP Prefix to All HAL Peripheral APIs (Defines, Macros, Types, and Functions).
HAL DCMI line synchronization modes constants ¶
HAL1 exposed line selection through two mechanisms: a start position (
DCMI_OELS_EVEN
/
DCMI_OELS_ODD) and a selection mode (
DCMI_LSM_ALTERNATE_2).
HAL2 consolidates these into a single “line decimation” setting (
HAL_DCMI_LINE_CAPTURE_1LINE_OUT_2_EVEN
/
HAL_DCMI_LINE_CAPTURE_1LINE_OUT_2_ODD).
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_LSM_ALL
#define DCMI_LSM_ALTERNATE_2
/* and */
#define DCMI_OELS_ODD
#define DCMI_LSM_ALTERNATE_2
/* and */
#define DCMI_OELS_EVEN
|
typedef enum
{
HAL_DCMI_LINE_CAPTURE_ALL,
HAL_DCMI_LINE_CAPTURE_1LINE_OUT_2_ODD,
HAL_DCMI_LINE_CAPTURE_1LINE_OUT_2_EVEN
} hal_dcmi_line_decimation_mode_t;
|
Related concepts:
Replace Finite Parameter Defines (Including PPP Instances) with Enum Types at HAL Levels.
Add HAL_PPP Prefix to All HAL Peripheral APIs (Defines, Macros, Types, and Functions).
HAL DCMI control register frame settings constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_CR_ALL_FRAME
#define DCMI_CR_ALTERNATE_2_FRAME
#define DCMI_CR_ALTERNATE_4_FRAME
|
typedef enum
{
HAL_DCMI_FRAME_CAPTURE_ALL,
HAL_DCMI_FRAME_CAPTURE_1FRAME_OUT_2,
HAL_DCMI_FRAME_CAPTURE_1FRAME_OUT_4
} hal_dcmi_frame_capture_rate_t;
|
Related concepts:
Replace Finite Parameter Defines (Including PPP Instances) with Enum Types at HAL Levels.
Add HAL_PPP Prefix to All HAL Peripheral APIs (Defines, Macros, Types, and Functions).
HAL DCMI extended data bit flags constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_EXTEND_DATA_8B
#define DCMI_EXTEND_DATA_10B
#define DCMI_EXTEND_DATA_12B
#define DCMI_EXTEND_DATA_14B
|
typedef enum
{
HAL_DCMI_EXTENDED_DATA_8_BITS,
HAL_DCMI_EXTENDED_DATA_10_BITS,
HAL_DCMI_EXTENDED_DATA_12_BITS,
HAL_DCMI_EXTENDED_DATA_14_BITS
} hal_dcmi_extended_data_mode_t;
|
Related concepts:
Replace Finite Parameter Defines (Including PPP Instances) with Enum Types at HAL Levels.
Add HAL_PPP Prefix to All HAL Peripheral APIs (Defines, Macros, Types, and Functions).
HAL DCMI status flags constants ¶
In HAL1, raw interrupt flags and masked interrupt flags were represented by separate defines (e.g.,
DCMI_FLAG_FRAMERI
vs
DCMI_FLAG_FRAMEMI).
In HAL2, raw and masked flags are unified under single defines (e.g.,
HAL_DCMI_FLAG_PIPE0_FRAME).
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_FLAG_HSYNC
#define DCMI_FLAG_VSYNC
#define DCMI_FLAG_FNE
#define DCMI_FLAG_FRAMERI
#define DCMI_FLAG_FRAMEMI
#define DCMI_FLAG_OVRRI
#define DCMI_FLAG_OVRMI
#define DCMI_FLAG_ERRRI
#define DCMI_FLAG_ERRMI
#define DCMI_FLAG_VSYNCRI
#define DCMI_FLAG_VSYNCMI
#define DCMI_FLAG_LINERI
#define DCMI_FLAG_LINEMI
|
#define HAL_DCMI_FLAG_PIPE0_HSYNC
#define HAL_DCMI_FLAG_PIPE0_VSYNC_PIN
#define HAL_DCMI_FLAG_PIPE0_FNE
#define HAL_DCMI_FLAG_PIPE0_FRAME
#define HAL_DCMI_FLAG_PIPE0_OVR
#define HAL_DCMI_FLAG_PARALLEL_SYNC_ERR
#define HAL_DCMI_FLAG_PIPE0_VSYNC
#define HAL_DCMI_FLAG_PIPE0_LINE
|
HAL DCMI horizontal synchronization polarity options constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_HSPOLARITY_LOW
#define DCMI_HSPOLARITY_HIGH
|
typedef enum
{
HAL_DCMI_HSYNC_LOW,
HAL_DCMI_HSYNC_HIGH
} hal_dcmi_hsync_polarity_t;
|
Related concepts:
Replace Finite Parameter Defines (Including PPP Instances) with Enum Types at HAL Levels.
Add HAL_PPP Prefix to All HAL Peripheral APIs (Defines, Macros, Types, and Functions).
HAL DCMI interrupt identifiers constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_IT_FRAME
#define DCMI_IT_OVR
#define DCMI_IT_ERR
#define DCMI_IT_VSYNC
#define DCMI_IT_LINE
|
#define HAL_DCMI_IT_PIPE0_FRAME
#define HAL_DCMI_IT_PIPE0_OVR
#define HAL_DCMI_IT_PARALLEL_SYNC_ERR
#define HAL_DCMI_IT_PIPE0_VSYNC
#define HAL_DCMI_IT_PIPE0_LINE
|
Related concept:
HAL DCMI JPEG mode settings constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_JPEG_DISABLE
#define DCMI_JPEG_ENABLE
|
typedef enum
{
HAL_DCMI_FORMAT_UNCOMPRESSED,
HAL_DCMI_FORMAT_JPEG
} hal_dcmi_format_t;
|
Related concepts:
Replace Finite Parameter Defines (Including PPP Instances) with Enum Types at HAL Levels.
Add HAL_PPP Prefix to All HAL Peripheral APIs (Defines, Macros, Types, and Functions).
HAL DCMI operating modes constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_MODE_CONTINUOUS
#define DCMI_MODE_SNAPSHOT
|
typedef enum
{
HAL_DCMI_CAPTURE_CONTINUOUS,
HAL_DCMI_CAPTURE_SNAPSHOT
} hal_dcmi_capture_t;
|
Related concepts:
Replace Finite Parameter Defines (Including PPP Instances) with Enum Types at HAL Levels.
Add HAL_PPP Prefix to All HAL Peripheral APIs (Defines, Macros, Types, and Functions).
HAL DCMI pixel clock polarity options constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_PCKPOLARITY_FALLING
#define DCMI_PCKPOLARITY_RISING
|
typedef enum
{
HAL_DCMI_PIXEL_CLOCK_FALLING,
HAL_DCMI_PIXEL_CLOCK_RISING
} hal_dcmi_pixel_clock_polarity_t;
|
Related concepts:
Replace Finite Parameter Defines (Including PPP Instances) with Enum Types at HAL Levels.
Add HAL_PPP Prefix to All HAL Peripheral APIs (Defines, Macros, Types, and Functions).
HAL DCMI synchronization settings constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_SYNCHRO_HARDWARE
#define DCMI_SYNCHRO_EMBEDDED
|
typedef enum
{
HAL_DCMI_SYNC_HARDWARE,
HAL_DCMI_SYNC_EMBEDDED
} hal_dcmi_sync_mode_t;
|
Related concepts:
Replace Finite Parameter Defines (Including PPP Instances) with Enum Types at HAL Levels.
Add HAL_PPP Prefix to All HAL Peripheral APIs (Defines, Macros, Types, and Functions).
HAL DCMI vertical synchronization polarity options constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_VSPOLARITY_LOW
#define DCMI_VSPOLARITY_HIGH
|
typedef enum
{
HAL_DCMI_VSYNC_LOW,
HAL_DCMI_VSYNC_HIGH
} hal_dcmi_vsync_polarity_t;
|
Related concepts:
Replace Finite Parameter Defines (Including PPP Instances) with Enum Types at HAL Levels.
Add HAL_PPP Prefix to All HAL Peripheral APIs (Defines, Macros, Types, and Functions).
HAL DCMI window configuration settings constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_WINDOW_COORDINATE
#define DCMI_WINDOW_HEIGHT
|
Removed; These defines were used internally in HAL1 and do not impact user-level operations. |
HAL DCMI error codes constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define HAL_DCMI_ERROR_NONE
#define HAL_DCMI_ERROR_OVR
#define HAL_DCMI_ERROR_SYNC
#define HAL_DCMI_ERROR_DMA
#define HAL_DCMI_ERROR_TIMEOUT
#define HAL_DCMI_ERROR_INVALID_CALLBACK
|
#define HAL_DCMI_ERROR_NONE
#define HAL_DCMI_ERROR_PIPE0_OVR
#define HAL_DCMI_ERROR_PARALLEL_SYNC
#define HAL_DCMI_ERROR_PIPE0_DMA
Removed; These kinds of logical errors are reported by the direct function return. |
Related concepts:
HAL DCMI position constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define DCMI_POSITION_CWSIZE_VLINE
#define DCMI_POSITION_CWSTRT_VST
#define DCMI_POSITION_ESCR_FEC
#define DCMI_POSITION_ESCR_LEC
#define DCMI_POSITION_ESCR_LSC
|
Not yet implemented in HAL2. |